<?php
/**
 * Classe FORM da tabela MEDICO
 * 
 * @author			Mário R. Castro
 * @copyright		Voitech Sistema
 * @package			SEMAS
 * @subpackage		semas.application.controller
 * @version			1.0
*/
class App_Form_Medico extends Voitech_Form
{
	public function __construct($options=array())
	{
		parent::__construct($options);
		
		$this->setAttribs(array('name'=>'frmCadastroMedico', 'id'=>'frmCadastroMedico', 'class'=>'form last-child'));
		
		// add id element
        $this->addElement('hidden', 'co_medico');
        
        // remove id's decorators
        $this->getElement('co_medico')
            ->removeDecorator('DtDdWrapper')
            ->removeDecorator('HtmlTag')
            ->removeDecorator('Label'); 

/*  Inicio Add Elementos do Cadastro de Pesso        */
        $this->addElement('hidden', 'co_pessoa');
        $this->getElement('co_pessoa')
            ->removeDecorator('DtDdWrapper')
            ->removeDecorator('HtmlTag')
            ->removeDecorator('Label');
		
		$noPessoa 	= new Zend_Form_Element_Text( 'no_pessoa' );
		$noPessoa->setLabel( 'Nome do Médico:' )
				 ->setAttribs( array('size'=>'70','class'=> 'first-child last-child', "readonly" => "readonly") )
		         ->addFilter( new Zend_Filter_StringTrim() )
				 ->addValidator( new Zend_Validate_StringLength( array( 'min'=>'3', 'max'=>'255' ) ) )
				 ->addFilter( new Zend_Filter_StringTrim() )
		         ->setDecorators( $this->_decoratorLeft )
				 ->setRequired( true );
		$this->addElement( $noPessoa );            
            
        $buttonCdstPessoa = new Zend_Form_Element_Button('Add');
		$buttonCdstPessoa->setAttribs( array('class'=> 'first-child last-child', 'id' => 'bntAddPessoa' ) )
		           ->setDecorators( $this->_decoratorDefault );
		//$buttonCdstFornecedor->removeDecorator( 'label' );
        $this->addElement( $buttonCdstPessoa );              
/*  Fim Add Elementos do Cadastro de Pesso        */            
            
        $obEspecialidadeRepositorio = new App_Model_EspecialidadeRepository();    
        $selectBox = new Zend_Form_Element_Select( 'co_especialidade' );
            $selectBox->setLabel('Especialidade:');
            $selectBox->setAttribs( array('class'=> 'last-child' ) );
            $selectBox->setDecorators( $this->_decoratorLeft );
            $selectBox->addMultiOptions( Voitech_Util::converteModeloArrayCombo($obEspecialidadeRepositorio->listarTodos(array('st_status'=>'S'))
                                            , 'CoEspecialidade', 'NoEspecialidade', true) );
            $selectBox->addFilters( array('StringTrim','StripTags') );
        $this->addElement( $selectBox );

        $buttonCdstFornecedor = new Zend_Form_Element_Button('Cadastrar');
		$buttonCdstFornecedor->setAttribs( array('class'=> 'first-child last-child', 'id' => 'btnCadastrarEspecialidade' ) )
		           ->setDecorators( $this->_decoratorDefault );
		//$buttonCdstFornecedor->removeDecorator( 'label' );
        $this->addElement( $buttonCdstFornecedor );     
        
		$noCrm 	= new Zend_Form_Element_Text( 'nu_crm' );
		$noCrm->setLabel( 'CRM:' )
				 ->setAttribs( array('size'=>'15','class'=> 'first-child last-child') )
		         ->addFilter( new Zend_Filter_StringTrim() )
				 ->addValidator( new Zend_Validate_StringLength( array( 'min'=>'3', 'max'=>'50' ) ) )
		         ->setDecorators( $this->_decoratorLeft )
				 ->setRequired( true );
		$this->addElement( $noCrm );	
		
		$obParamUfRepositorio = new App_Model_ParamUfRepository();
        $selectBox = new Zend_Form_Element_Select( 'sg_uf_crm' );
            $selectBox->setLabel('UF:');
            $selectBox->setAttribs( array('class'=> 'first-child last-child' ) );
            $selectBox->setDecorators( $this->_decoratorDefault );
            $selectBox->addMultiOptions( Voitech_Util::converteModeloArrayCombo($obParamUfRepositorio->listarTodos(array('st_status'=>'S'))
                                            , 'SgUf', 'SgUf')  );
            $selectBox->addFilters( array('StringTrim','StripTags') );
            $selectBox->setRequired( true );
        $this->addElement( $selectBox );

		
		$this->addDisplayGroup(array('co_medico',  'co_pessoa','no_pessoa','Add'  ,'co_especialidade', 'Cadastrar','nu_crm','sg_uf_crm'),'Cadastro',array('legend' => 'Dados Médico', 'class'=>'grey-bg first-child last-child fieldset-with-legend fieldset-with-legend-first-child'));
	}
}